#include <iostream>
#include <cstdio>
using namespace std;

inline void File_Read() {
#ifndef MYLAB
	freopen("counting.in", "r", stdin);
	freopen("counting.out", "w", stdout);
#endif
}

inline int get_num() {
    int k = 0;
    char c = getchar();
    for(; !isdigit(c); c = getchar());
    for(; isdigit(c); c = getchar()) {
        k = k * 10 + c - '0';
    }
    return k;
}

char str[27];
int num[27];
bool ad[27], fo;
int ti = 6;
int n, s, t;


void dfs(int x) {
	if(x > n && ti) {
		ti--;
		if(!fo) {
			fo = 1;
			return;
		}
		for(int i = 1; i <= n; i++) {
			printf("%c", num[i] + 'a');
		}
		printf("\n");
		return ;
	}
	for(; num[x] <= t; num[x]++) {
		if(num[x] <= num[x - 1]) continue;
		dfs(x + 1);
	}
	num[x] = s;
}

int main() {
	File_Read();
    s = get_num();
    t = get_num();
    n = get_num();
    scanf("%s", str);
    s--;
    t--;
    for(int i = 0; i < n; i++) {
    	num[i + 1] = str[i] - 'a';
	}
    dfs(1);
    
}
